/*
 * Copyright (c) [2019] [zr]
 *    [bsf] is licensed under the Mulan PSL v1.
 *    You can use this software according to the terms and conditions of the Mulan PSL v1.
 *    You may obtain a copy of Mulan PSL v1 at:
 *       http://license.coscl.org.cn/MulanPSL
 *    THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
 *    IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
 *    PURPOSE.
 *
 *    See the Mulan PSL v1 for more details.
 */

package bsf

import (
	"github.com/gin-gonic/gin"
	"github.com/sirupsen/logrus"
)

func NewEngine(logger logrus.FieldLogger) *Engine {
	r := &Engine{
		Engine: gin.New(),
		logger: logger,
	}
	if r.logger == nil {
		r.logger = logrus.StandardLogger()
	}

	return r
}
func NewDefaultEngine() *Engine {
	r := NewEngine(logrus.StandardLogger())
	return r
}

func NewControllerBase() *ControllerBase {
	return &ControllerBase{}
}

type ControllerFunc func() (err error)
